package de.hdu.pms.dao;

import java.util.Date;
import java.util.List;

import org.apache.log4j.Logger;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import de.hdu.pms.model.Feiertage;

public class FeiertageDao extends HibernateDaoSupport {

	public static Logger Log = Logger.getLogger(FeiertageDao.class);

	public static void setLog(Logger log) {
		Log = log;
	}

	/**
	 * searches for an specific entry in the table Feiertage by primary key
	 * ftag_datum (primary key) returns all entries from the table Feiertage
	 * with a special id
	 * 
	 * @param ftag_id
	 * @return Feiertage
	 * @author BBV
	 */
	public Feiertage findById(Date id) {
		HibernateTemplate template = getHibernateTemplate();
		return (Feiertage) template.get(Feiertage.class, id);
	}

	/**
	 * lists all entries from the table Feiertage
	 * 
	 * @returns a list of all entries from the table Feiertage
	 * @see Feiertage
	 * @author BBV
	 */
	public List<Feiertage> findAll() {
		HibernateTemplate template = getHibernateTemplate();
		return template.loadAll(Feiertage.class);
	}

	/**
	 * saves an specific entry into the Table Feiertage
	 * 
	 * @return Feiertage
	 * @param Feiertage
	 * @author BBV
	 */
	public Feiertage save(Feiertage feiertage) {
		HibernateTemplate template = getHibernateTemplate();
		template.saveOrUpdate(feiertage);
		return feiertage;
	}

	/**
	 * deletes an specific entry from the Table Feiertage
	 * 
	 * @param Feiertage
	 * @author BBV
	 */
	public void delete(Feiertage feiertage) {
		HibernateTemplate template = getHibernateTemplate();
		template.delete(feiertage);
	}
}
